combobox: add a "combobox-entry" style class for comboboxes with entries
authorCosimo Cecchi <cosimoc@gnome.org>
Tue, 9 Aug 2011 13:32:21 +0000 (15:32 +0200)
committerCosimo Cecchi <cosimoc@gnome.org>
Tue, 9 Aug 2011 14:08:00 +0000 (16:08 +0200)
This way themes can use GtkComboBox.combobox-entry to match that
specific case, and GtkComboBox.combobox-entry .button to match the
button/arrow side of the widget.

docs/reference/gtk/gtk3-sections.txt
gtk/gtkcombobox.c
gtk/gtkstylecontext.c
gtk/gtkstylecontext.h

index 7992f8faedbcaea0b5add52d22ca446d05de5e33..e1a8a848471394be4a2668df29a818e7d968cf85 100644 (file)
@@ -5530,6 +5530,7 @@ GTK_STYLE_CLASS_BACKGROUND
 GTK_STYLE_CLASS_BUTTON
 GTK_STYLE_CLASS_CALENDAR
 GTK_STYLE_CLASS_CELL
+GTK_STYLE_CLASS_COMBOBOX_ENTRY
 GTK_STYLE_CLASS_CHECK
 GTK_STYLE_CLASS_DEFAULT
 GTK_STYLE_CLASS_ENTRY
index 38b064bc8ff7d8270a30acc63862571136de4df2..6986db25d8f98476abb733701ae2c89369e0edbb 100644 (file)
@@ -4591,11 +4591,15 @@ gtk_combo_box_constructor (GType                  type,
   if (priv->has_entry)
     {
       GtkWidget *entry;
+      GtkStyleContext *context;
 
       entry = gtk_entry_new ();
       gtk_widget_show (entry);
       gtk_container_add (GTK_CONTAINER (combo_box), entry);
 
+      context = gtk_widget_get_style_context (GTK_WIDGET (combo_box));
+      gtk_style_context_add_class (context, GTK_STYLE_CLASS_COMBOBOX_ENTRY);
+
       priv->text_renderer = gtk_cell_renderer_text_new ();
       gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box),
                                   priv->text_renderer, TRUE);
index 549fbaf411b42ab0d0cf9e0a83d363065a2e536c..d2a238cba9ffcd6d480ba5c11dab0bfc5dcee54f 100644 (file)
  * #GTK_STYLE_CLASS_CELL,
  * #GTK_STYLE_CLASS_ENTRY,
  * #GTK_STYLE_CLASS_BUTTON,
+ * #GTK_STYLE_CLASS_COMBOBOX_ENTRY,
  * #GTK_STYLE_CLASS_CALENDAR,
  * #GTK_STYLE_CLASS_SLIDER,
  * #GTK_STYLE_CLASS_BACKGROUND,
index dd1339508cb3595a5dd2a14ad5fedbc8281ff660..3e32c683cb8e340ee9fa0d1574289f7483e6f391 100644 (file)
@@ -170,6 +170,15 @@ struct _GtkStyleContextClass
  */
 #define GTK_STYLE_CLASS_ENTRY "entry"
 
+/**
+ * GTK_STYLE_CLASS_COMBOBOX_ENTRY:
+ *
+ * A CSS class to match combobox entries.
+ *
+ * This is used by #GtkComboBox.
+ */
+#define GTK_STYLE_CLASS_COMBOBOX_ENTRY "combobox-entry"
+
 /**
  * GTK_STYLE_CLASS_BUTTON:
  *